TPTP Problem File: SWW478^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWW478^1 : TPTP v8.2.0. Released v5.3.0.
% Domain   : Software Verification
% Problem  : Java type soundness line 479, 100 axioms selected
% Version  : Especial.
% English  :

% Refs     : [BN10]  Boehme & Nipkow (2010), Sledgehammer: Judgement Day
%          : [Bla11] Blanchette (2011), Email to Geoff Sutcliffe
% Source   : [Bla11]
% Names    : jinja_100_thf_l479 [Bla11]

% Status   : Theorem
% Rating   : 0.33 v8.1.0, 0.50 v7.5.0, 1.00 v7.2.0, 0.50 v7.1.0, 0.00 v6.4.0, 0.17 v6.3.0, 0.20 v6.2.0, 0.57 v6.1.0, 0.29 v6.0.0, 0.43 v5.5.0, 0.50 v5.4.0, 0.80 v5.3.0
% Syntax   : Number of formulae    :  238 (  72 unt;  70 typ;   0 def)
%            Number of atoms       :  370 ( 153 equ;   4 cnn)
%            Maximal formula atoms :    6 (   2 avg)
%            Number of connectives : 1707 (  75   ~;   2   |;  23   &;1430   @)
%                                         (  48 <=>; 123  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   25 (   9 avg)
%            Number of types       :   14 (  13 usr)
%            Number of type conns  :  517 ( 517   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   61 (  57 usr;  14 con; 0-5 aty)
%                                         (   3  !!;   3  ??;   0 @@+;   0 @@-)
%            Number of variables   :  679 (  24   ^; 648   !;   7   ?; 679   :)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Isabelle (most likely Sledgehammer)
%            2011-08-09 19:15:58
%------------------------------------------------------------------------------
%----Should-be-implicit typings (13)
thf(ty_ty_tc__Expr__Oexp_Itc__List__Olist_Itc__String__Ochar_J_J,type,
    exp_list_char: $tType ).

thf(ty_ty_tc__List__Olist_Itc__String__Ochar_J,type,
    list_char: $tType ).

thf(ty_ty_tc__List__Olist_Itc__prod_Itc__List__Olist_Itc__String__Ochar_J_Mtc__prod_,type,
    list_P1999446415t_char: $tType ).

thf(ty_ty_tc__Nat__Onat,type,
    nat: $tType ).

thf(ty_ty_tc__Option__Ooption_Itc__Type__Oty_J,type,
    option_ty: $tType ).

thf(ty_ty_tc__Option__Ooption_Itc__Value__Oval_J,type,
    option_val: $tType ).

thf(ty_ty_tc__Option__Ooption_Itc__prod_Itc__List__Olist_Itc__String__Ochar_J_M_062_,type,
    option1728594148on_val: $tType ).

thf(ty_ty_tc__Type__Oty,type,
    ty: $tType ).

thf(ty_ty_tc__Value__Oval,type,
    val: $tType ).

thf(ty_ty_tc__prod_I_062_Itc__Nat__Onat_Mtc__Option__Ooption_Itc__prod_Itc__List__Ol,type,
    produc2090907612on_val: $tType ).

thf(ty_ty_tc__prod_Itc__Expr__Oexp_Itc__List__Olist_Itc__String__Ochar_J_J_Mtc__prod,type,
    produc1282892786on_val: $tType ).

thf(ty_ty_tc__prod_Itc__List__Olist_Itc__String__Ochar_J_Mtc__prod_Itc__List__Olist_,type,
    produc1013743697t_char: $tType ).

thf(ty_ty_tc__prod_Itc__prod_Itc__Expr__Oexp_Itc__List__Olist_Itc__String__Ochar_J_J,type,
    produc1746408499on_val: $tType ).

%----Explicit typings (63)
thf(sy_c_Conform_Ohconf_000tc__prod_Itc__List__Olist_Itc__List__Olist_Itc__String__O,type,
    hconf_97414254t_char: list_P1999446415t_char > ( nat > option1728594148on_val ) > $o ).

thf(sy_c_Conform_Olconf_000tc__prod_Itc__List__Olist_Itc__List__Olist_Itc__String__O,type,
    lconf_496643946t_char: list_P1999446415t_char > ( nat > option1728594148on_val ) > ( list_char > option_val ) > ( list_char > option_ty ) > $o ).

thf(sy_c_Expr_Oexp_OBlock_000tc__List__Olist_Itc__String__Ochar_J,type,
    block_list_char: list_char > ty > exp_list_char > exp_list_char ).

thf(sy_c_Expr_Oexp_OLAss_000tc__List__Olist_Itc__String__Ochar_J,type,
    lAss_list_char: list_char > exp_list_char > exp_list_char ).

thf(sy_c_Expr_Oexp_OSeq_000tc__List__Olist_Itc__String__Ochar_J,type,
    seq_list_char: exp_list_char > exp_list_char > exp_list_char ).

thf(sy_c_Expr_Oexp_OVal_000tc__List__Olist_Itc__String__Ochar_J,type,
    val_list_char: val > exp_list_char ).

thf(sy_c_Fun_Ofun__upd_000tc__List__Olist_Itc__String__Ochar_J_000tc__Option__Ooptio,type,
    fun_up424764369ion_ty: ( list_char > option_ty ) > list_char > option_ty > list_char > option_ty ).

thf(sy_c_Fun_Ofun__upd_000tc__List__Olist_Itc__String__Ochar_J_000tc__Option__Ooptio_001,type,
    fun_up1149430426on_val: ( list_char > option_val ) > list_char > option_val > list_char > option_val ).

thf(sy_c_JWellForm_Owf__J__mdecl,type,
    wf_J_mdecl: list_P1999446415t_char > list_char > produc1013743697t_char > $o ).

thf(sy_c_Option_Ooption_ONone_000tc__Type__Oty,type,
    none_ty: option_ty ).

thf(sy_c_Option_Ooption_ONone_000tc__Value__Oval,type,
    none_val: option_val ).

thf(sy_c_Option_Ooption_OSome_000tc__Type__Oty,type,
    some_ty: ty > option_ty ).

thf(sy_c_Option_Ooption_OSome_000tc__Value__Oval,type,
    some_val: val > option_val ).

thf(sy_c_Product__Type_OPair_000_062_Itc__Nat__Onat_Mtc__Option__Ooption_Itc__prod_I,type,
    produc755559506on_val: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc2090907612on_val ).

thf(sy_c_Product__Type_OPair_000tc__Expr__Oexp_Itc__List__Olist_Itc__String__Ochar_J,type,
    produc235638504on_val: exp_list_char > produc2090907612on_val > produc1282892786on_val ).

thf(sy_c_Product__Type_OPair_000tc__prod_Itc__Expr__Oexp_Itc__List__Olist_Itc__Strin,type,
    produc833389609on_val: produc1282892786on_val > produc1282892786on_val > produc1746408499on_val ).

thf(sy_c_Product__Type_Ointernal__split_000_062_Itc__Nat__Onat_Mtc__Option__Ooption_,type,
    produc575577405_val_o: ( ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o ) > produc2090907612on_val > $o ).

thf(sy_c_Product__Type_Ointernal__split_000tc__Expr__Oexp_Itc__List__Olist_Itc__Stri,type,
    produc900512295_val_o: ( exp_list_char > produc2090907612on_val > $o ) > produc1282892786on_val > $o ).

thf(sy_c_Product__Type_Ointernal__split_000tc__prod_Itc__Expr__Oexp_Itc__List__Olist,type,
    produc2006262054_val_o: ( produc1282892786on_val > produc1282892786on_val > $o ) > produc1746408499on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000_062_Itc__Nat__Onat_Mtc__Option__Ooption,type,
    produc146628214_val_o: ( ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc2090907612on_val > $o ) > produc2090907612on_val > produc2090907612on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000_062_Itc__Nat__Onat_Mtc__Option__Ooption_002,type,
    produc74886368_val_o: ( ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1282892786on_val > $o ) > produc2090907612on_val > produc1282892786on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000_062_Itc__Nat__Onat_Mtc__Option__Ooption_003,type,
    produc252486962_val_o: ( ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o ) > produc2090907612on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000_062_Itc__Nat__Onat_Mtc__Option__Ooption_004,type,
    produc1016489647on_val: ( ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1282892786on_val ) > produc2090907612on_val > produc1282892786on_val ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000_062_Itc__Nat__Onat_Mtc__Option__Ooption_005,type,
    produc1186953840on_val: ( ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1746408499on_val ) > produc2090907612on_val > produc1746408499on_val ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__Expr__Oexp_Itc__List__Olist_Itc__Str,type,
    produc1115879776_val_o: ( exp_list_char > produc2090907612on_val > produc2090907612on_val > $o ) > produc1282892786on_val > produc2090907612on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__Expr__Oexp_Itc__List__Olist_Itc__Str_006,type,
    produc68058570_val_o: ( exp_list_char > produc2090907612on_val > produc1282892786on_val > $o ) > produc1282892786on_val > produc1282892786on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__Expr__Oexp_Itc__List__Olist_Itc__Str_007,type,
    produc1835097372_val_o: ( exp_list_char > produc2090907612on_val > $o ) > produc1282892786on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__Expr__Oexp_Itc__List__Olist_Itc__Str_008,type,
    produc69760047on_val: ( exp_list_char > produc2090907612on_val > produc2090907612on_val ) > produc1282892786on_val > produc2090907612on_val ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__prod_Itc__Expr__Oexp_Itc__List__Olis,type,
    produc793795679_val_o: ( produc1282892786on_val > produc1282892786on_val > produc2090907612on_val > $o ) > produc1746408499on_val > produc2090907612on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__prod_Itc__Expr__Oexp_Itc__List__Olis_009,type,
    produc1798214089_val_o: ( produc1282892786on_val > produc1282892786on_val > produc1282892786on_val > $o ) > produc1746408499on_val > produc1282892786on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__prod_Itc__Expr__Oexp_Itc__List__Olis_010,type,
    produc1624062875_val_o: ( produc1282892786on_val > produc1282892786on_val > $o ) > produc1746408499on_val > $o ).

thf(sy_c_Product__Type_Oprod_Oprod__case_000tc__prod_Itc__Expr__Oexp_Itc__List__Olis_011,type,
    produc511181936on_val: ( produc1282892786on_val > produc1282892786on_val > produc2090907612on_val ) > produc1746408499on_val > produc2090907612on_val ).

thf(sy_c_SmallStep_Oassigned,type,
    assigned: list_char > exp_list_char > $o ).

thf(sy_c_SmallStep_Ored,type,
    red: list_P1999446415t_char > produc1746408499on_val > $o ).

thf(sy_c_SmallStep_Oredp,type,
    redp: list_P1999446415t_char > exp_list_char > produc2090907612on_val > exp_list_char > produc2090907612on_val > $o ).

thf(sy_c_State_Ohp,type,
    hp: produc2090907612on_val > nat > option1728594148on_val ).

thf(sy_c_TypeRel_Owiden_000tc__prod_Itc__List__Olist_Itc__List__Olist_Itc__String__O,type,
    widen_2090681816t_char: list_P1999446415t_char > ty > ty > $o ).

thf(sy_c_TypeSafe__Mirabelle__nzycqussuh_Osconf,type,
    typeSa1586500134_sconf: list_P1999446415t_char > ( list_char > option_ty ) > produc2090907612on_val > $o ).

thf(sy_c_Value_Oval_OUnit,type,
    unit: val ).

thf(sy_c_WellForm_Owf__prog_000tc__prod_Itc__List__Olist_Itc__List__Olist_Itc__Strin,type,
    wf_pro755087577t_char: ( list_P1999446415t_char > list_char > produc1013743697t_char > $o ) > list_P1999446415t_char > $o ).

thf(sy_c_WellTypeRT_OWTrt,type,
    wTrt: list_P1999446415t_char > ( nat > option1728594148on_val ) > ( list_char > option_ty ) > exp_list_char > ty > $o ).

thf(sy_c_member_000tc__prod_I_062_Itc__Nat__Onat_Mtc__Option__Ooption_Itc__prod_Itc_,type,
    member1846553161on_val: produc2090907612on_val > ( produc2090907612on_val > $o ) > $o ).

thf(sy_c_member_000tc__prod_Itc__Expr__Oexp_Itc__List__Olist_Itc__String__Ochar_J_J_,type,
    member1072200031on_val: produc1282892786on_val > ( produc1282892786on_val > $o ) > $o ).

thf(sy_c_member_000tc__prod_Itc__prod_Itc__Expr__Oexp_Itc__List__Olist_Itc__String__,type,
    member1913460000on_val: produc1746408499on_val > ( produc1746408499on_val > $o ) > $o ).

thf(sy_v_E____,type,
    e: list_char > option_ty ).

thf(sy_v_P,type,
    p: list_P1999446415t_char ).

thf(sy_v_T_H____,type,
    t: ty ).

thf(sy_v_T____,type,
    t_1: ty ).

thf(sy_v_V____,type,
    v_1: list_char ).

thf(sy_v_e_Ha____,type,
    e_a: exp_list_char ).

thf(sy_v_ea____,type,
    ea: exp_list_char ).

thf(sy_v_h_Ha____,type,
    h_a: nat > option1728594148on_val ).

thf(sy_v_ha____,type,
    ha: nat > option1728594148on_val ).

thf(sy_v_l_Ha____,type,
    l_a: list_char > option_val ).

thf(sy_v_la____,type,
    la: list_char > option_val ).

thf(sy_v_v_H____,type,
    v_2: val ).

thf(sy_v_v____,type,
    v: val ).

%----Relevant facts (167)
thf(fact_0_InitBlockRed_I3_J,axiom,
    ( ( l_a @ v_1 )
    = ( some_val @ v_2 ) ) ).

thf(fact_1_InitBlockRed_I1_J,axiom,
    member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ea @ ( produc755559506on_val @ ha @ ( fun_up1149430426on_val @ la @ v_1 @ ( some_val @ v ) ) ) ) @ ( produc235638504on_val @ e_a @ ( produc755559506on_val @ h_a @ l_a ) ) ) @ ( red @ p ) ).

thf(fact_2_fun__upd__triv,axiom,
    ! [F_13: list_char > option_val,X_15: list_char] :
      ( ( fun_up1149430426on_val @ F_13 @ X_15 @ ( F_13 @ X_15 ) )
      = F_13 ) ).

thf(fact_3_fun__upd__triv,axiom,
    ! [F_13: list_char > option_ty,X_15: list_char] :
      ( ( fun_up424764369ion_ty @ F_13 @ X_15 @ ( F_13 @ X_15 ) )
      = F_13 ) ).

thf(fact_4_assms,axiom,
    wf_pro755087577t_char @ wf_J_mdecl @ p ).

thf(fact_5_map__upd__Some__unfold,axiom,
    ! [M_2: list_char > option_val,A_32: list_char,B_14: val,X_14: list_char,Y_11: val] :
      ( ( ( fun_up1149430426on_val @ M_2 @ A_32 @ ( some_val @ B_14 ) @ X_14 )
        = ( some_val @ Y_11 ) )
    <=> ( ( ( X_14 = A_32 )
          & ( B_14 = Y_11 ) )
        | ( ( X_14 != A_32 )
          & ( ( M_2 @ X_14 )
            = ( some_val @ Y_11 ) ) ) ) ) ).

thf(fact_6_map__upd__Some__unfold,axiom,
    ! [M_2: list_char > option_ty,A_32: list_char,B_14: ty,X_14: list_char,Y_11: ty] :
      ( ( ( fun_up424764369ion_ty @ M_2 @ A_32 @ ( some_ty @ B_14 ) @ X_14 )
        = ( some_ty @ Y_11 ) )
    <=> ( ( ( X_14 = A_32 )
          & ( B_14 = Y_11 ) )
        | ( ( X_14 != A_32 )
          & ( ( M_2 @ X_14 )
            = ( some_ty @ Y_11 ) ) ) ) ) ).

thf(fact_7_map__upd__triv,axiom,
    ! [T_7: list_char > option_val,K_1: list_char,X_13: val] :
      ( ( ( T_7 @ K_1 )
        = ( some_val @ X_13 ) )
     => ( ( fun_up1149430426on_val @ T_7 @ K_1 @ ( some_val @ X_13 ) )
        = T_7 ) ) ).

thf(fact_8_map__upd__triv,axiom,
    ! [T_7: list_char > option_ty,K_1: list_char,X_13: ty] :
      ( ( ( T_7 @ K_1 )
        = ( some_ty @ X_13 ) )
     => ( ( fun_up424764369ion_ty @ T_7 @ K_1 @ ( some_ty @ X_13 ) )
        = T_7 ) ) ).

thf(fact_9_map__upd__eqD1,axiom,
    ! [M_1: list_char > option_val,A_31: list_char,X_12: val,N: list_char > option_val,Y_10: val] :
      ( ( ( fun_up1149430426on_val @ M_1 @ A_31 @ ( some_val @ X_12 ) )
        = ( fun_up1149430426on_val @ N @ A_31 @ ( some_val @ Y_10 ) ) )
     => ( X_12 = Y_10 ) ) ).

thf(fact_10_map__upd__eqD1,axiom,
    ! [M_1: list_char > option_ty,A_31: list_char,X_12: ty,N: list_char > option_ty,Y_10: ty] :
      ( ( ( fun_up424764369ion_ty @ M_1 @ A_31 @ ( some_ty @ X_12 ) )
        = ( fun_up424764369ion_ty @ N @ A_31 @ ( some_ty @ Y_10 ) ) )
     => ( X_12 = Y_10 ) ) ).

thf(fact_11_InitBlockRed_I2_J,axiom,
    ! [T: ty,E_3: list_char > option_ty] :
      ( ( typeSa1586500134_sconf @ p @ E_3 @ ( produc755559506on_val @ ha @ ( fun_up1149430426on_val @ la @ v_1 @ ( some_val @ v ) ) ) )
     => ( ( wTrt @ p @ ha @ E_3 @ ea @ T )
       => ? [T_6: ty] :
            ( ( wTrt @ p @ h_a @ E_3 @ e_a @ T_6 )
            & ( widen_2090681816t_char @ p @ T_6 @ T ) ) ) ) ).

thf(fact_12_prod__induct4,axiom,
    ! [X_11: produc1746408499on_val,P_15: produc1746408499on_val > $o] :
      ( ! [A_17: produc1282892786on_val,B: exp_list_char,C_7: nat > option1728594148on_val,D_1: list_char > option_val] : ( P_15 @ ( produc833389609on_val @ A_17 @ ( produc235638504on_val @ B @ ( produc755559506on_val @ C_7 @ D_1 ) ) ) )
     => ( P_15 @ X_11 ) ) ).

thf(fact_13_prod__cases4,axiom,
    ! [Y_9: produc1746408499on_val] :
      ~ ! [A_17: produc1282892786on_val,B: exp_list_char,C_7: nat > option1728594148on_val,D_1: list_char > option_val] :
          ( Y_9
         != ( produc833389609on_val @ A_17 @ ( produc235638504on_val @ B @ ( produc755559506on_val @ C_7 @ D_1 ) ) ) ) ).

thf(fact_14_InitBlockRed_I4_J,axiom,
    typeSa1586500134_sconf @ p @ e @ ( produc755559506on_val @ ha @ la ) ).

thf(fact_15_Pair__inject,axiom,
    ! [A_30: produc1282892786on_val,B_13: produc1282892786on_val,A_29: produc1282892786on_val,B_12: produc1282892786on_val] :
      ( ( ( produc833389609on_val @ A_30 @ B_13 )
        = ( produc833389609on_val @ A_29 @ B_12 ) )
     => ~ ( ( A_30 = A_29 )
         => ( B_13 != B_12 ) ) ) ).

thf(fact_16_Pair__inject,axiom,
    ! [A_30: exp_list_char,B_13: produc2090907612on_val,A_29: exp_list_char,B_12: produc2090907612on_val] :
      ( ( ( produc235638504on_val @ A_30 @ B_13 )
        = ( produc235638504on_val @ A_29 @ B_12 ) )
     => ~ ( ( A_30 = A_29 )
         => ( B_13 != B_12 ) ) ) ).

thf(fact_17_Pair__inject,axiom,
    ! [A_30: nat > option1728594148on_val,B_13: list_char > option_val,A_29: nat > option1728594148on_val,B_12: list_char > option_val] :
      ( ( ( produc755559506on_val @ A_30 @ B_13 )
        = ( produc755559506on_val @ A_29 @ B_12 ) )
     => ~ ( ( A_30 = A_29 )
         => ( B_13 != B_12 ) ) ) ).

thf(fact_18_Pair__eq,axiom,
    ! [A_28: produc1282892786on_val,B_11: produc1282892786on_val,A_27: produc1282892786on_val,B_10: produc1282892786on_val] :
      ( ( ( produc833389609on_val @ A_28 @ B_11 )
        = ( produc833389609on_val @ A_27 @ B_10 ) )
    <=> ( ( A_28 = A_27 )
        & ( B_11 = B_10 ) ) ) ).

thf(fact_19_Pair__eq,axiom,
    ! [A_28: exp_list_char,B_11: produc2090907612on_val,A_27: exp_list_char,B_10: produc2090907612on_val] :
      ( ( ( produc235638504on_val @ A_28 @ B_11 )
        = ( produc235638504on_val @ A_27 @ B_10 ) )
    <=> ( ( A_28 = A_27 )
        & ( B_11 = B_10 ) ) ) ).

thf(fact_20_Pair__eq,axiom,
    ! [A_28: nat > option1728594148on_val,B_11: list_char > option_val,A_27: nat > option1728594148on_val,B_10: list_char > option_val] :
      ( ( ( produc755559506on_val @ A_28 @ B_11 )
        = ( produc755559506on_val @ A_27 @ B_10 ) )
    <=> ( ( A_28 = A_27 )
        & ( B_11 = B_10 ) ) ) ).

thf(fact_21_split__paired__All,axiom,
    ! [P_14: produc1746408499on_val > $o] :
      ( ( !! @ produc1746408499on_val @ P_14 )
    <=> ! [A_17: produc1282892786on_val,B: produc1282892786on_val] : ( P_14 @ ( produc833389609on_val @ A_17 @ B ) ) ) ).

thf(fact_22_split__paired__All,axiom,
    ! [P_14: produc1282892786on_val > $o] :
      ( ( !! @ produc1282892786on_val @ P_14 )
    <=> ! [A_17: exp_list_char,B: produc2090907612on_val] : ( P_14 @ ( produc235638504on_val @ A_17 @ B ) ) ) ).

thf(fact_23_split__paired__All,axiom,
    ! [P_14: produc2090907612on_val > $o] :
      ( ( !! @ produc2090907612on_val @ P_14 )
    <=> ! [A_17: nat > option1728594148on_val,B: list_char > option_val] : ( P_14 @ ( produc755559506on_val @ A_17 @ B ) ) ) ).

thf(fact_24_fun__upd__def,axiom,
    ! [F_12: list_char > option_val,B_9: option_val,A_26: list_char,X: list_char] :
      ( ( ( X = A_26 )
       => ( ( fun_up1149430426on_val @ F_12 @ A_26 @ B_9 @ X )
          = B_9 ) )
      & ( ( X != A_26 )
       => ( ( fun_up1149430426on_val @ F_12 @ A_26 @ B_9 @ X )
          = ( F_12 @ X ) ) ) ) ).

thf(fact_25_fun__upd__def,axiom,
    ! [F_12: list_char > option_ty,B_9: option_ty,A_26: list_char,X: list_char] :
      ( ( ( X = A_26 )
       => ( ( fun_up424764369ion_ty @ F_12 @ A_26 @ B_9 @ X )
          = B_9 ) )
      & ( ( X != A_26 )
       => ( ( fun_up424764369ion_ty @ F_12 @ A_26 @ B_9 @ X )
          = ( F_12 @ X ) ) ) ) ).

thf(fact_26_fun__upd__idem,axiom,
    ! [F_11: list_char > option_val,X_10: list_char,Y_8: option_val] :
      ( ( ( F_11 @ X_10 )
        = Y_8 )
     => ( ( fun_up1149430426on_val @ F_11 @ X_10 @ Y_8 )
        = F_11 ) ) ).

thf(fact_27_fun__upd__idem,axiom,
    ! [F_11: list_char > option_ty,X_10: list_char,Y_8: option_ty] :
      ( ( ( F_11 @ X_10 )
        = Y_8 )
     => ( ( fun_up424764369ion_ty @ F_11 @ X_10 @ Y_8 )
        = F_11 ) ) ).

thf(fact_28_fun__upd__other,axiom,
    ! [F_10: list_char > option_val,Y_7: option_val,Z_6: list_char,X_9: list_char] :
      ( ( Z_6 != X_9 )
     => ( ( fun_up1149430426on_val @ F_10 @ X_9 @ Y_7 @ Z_6 )
        = ( F_10 @ Z_6 ) ) ) ).

thf(fact_29_fun__upd__other,axiom,
    ! [F_10: list_char > option_ty,Y_7: option_ty,Z_6: list_char,X_9: list_char] :
      ( ( Z_6 != X_9 )
     => ( ( fun_up424764369ion_ty @ F_10 @ X_9 @ Y_7 @ Z_6 )
        = ( F_10 @ Z_6 ) ) ) ).

thf(fact_30_fun__upd__twist,axiom,
    ! [M: list_char > option_val,B_8: option_val,D: option_val,A_25: list_char,C_8: list_char] :
      ( ( A_25 != C_8 )
     => ( ( fun_up1149430426on_val @ ( fun_up1149430426on_val @ M @ A_25 @ B_8 ) @ C_8 @ D )
        = ( fun_up1149430426on_val @ ( fun_up1149430426on_val @ M @ C_8 @ D ) @ A_25 @ B_8 ) ) ) ).

thf(fact_31_fun__upd__twist,axiom,
    ! [M: list_char > option_ty,B_8: option_ty,D: option_ty,A_25: list_char,C_8: list_char] :
      ( ( A_25 != C_8 )
     => ( ( fun_up424764369ion_ty @ ( fun_up424764369ion_ty @ M @ A_25 @ B_8 ) @ C_8 @ D )
        = ( fun_up424764369ion_ty @ ( fun_up424764369ion_ty @ M @ C_8 @ D ) @ A_25 @ B_8 ) ) ) ).

thf(fact_32_fun__upd__apply,axiom,
    ! [F_9: list_char > option_val,Y_6: option_val,Z_5: list_char,X_8: list_char] :
      ( ( ( Z_5 = X_8 )
       => ( ( fun_up1149430426on_val @ F_9 @ X_8 @ Y_6 @ Z_5 )
          = Y_6 ) )
      & ( ( Z_5 != X_8 )
       => ( ( fun_up1149430426on_val @ F_9 @ X_8 @ Y_6 @ Z_5 )
          = ( F_9 @ Z_5 ) ) ) ) ).

thf(fact_33_fun__upd__apply,axiom,
    ! [F_9: list_char > option_ty,Y_6: option_ty,Z_5: list_char,X_8: list_char] :
      ( ( ( Z_5 = X_8 )
       => ( ( fun_up424764369ion_ty @ F_9 @ X_8 @ Y_6 @ Z_5 )
          = Y_6 ) )
      & ( ( Z_5 != X_8 )
       => ( ( fun_up424764369ion_ty @ F_9 @ X_8 @ Y_6 @ Z_5 )
          = ( F_9 @ Z_5 ) ) ) ) ).

thf(fact_34_fun__upd__same,axiom,
    ! [F_8: list_char > option_val,X_7: list_char,Y_5: option_val] :
      ( ( fun_up1149430426on_val @ F_8 @ X_7 @ Y_5 @ X_7 )
      = Y_5 ) ).

thf(fact_35_fun__upd__same,axiom,
    ! [F_8: list_char > option_ty,X_7: list_char,Y_5: option_ty] :
      ( ( fun_up424764369ion_ty @ F_8 @ X_7 @ Y_5 @ X_7 )
      = Y_5 ) ).

thf(fact_36_fun__upd__upd,axiom,
    ! [F_7: list_char > option_val,X_6: list_char,Y_4: option_val,Z_4: option_val] :
      ( ( fun_up1149430426on_val @ ( fun_up1149430426on_val @ F_7 @ X_6 @ Y_4 ) @ X_6 @ Z_4 )
      = ( fun_up1149430426on_val @ F_7 @ X_6 @ Z_4 ) ) ).

thf(fact_37_fun__upd__upd,axiom,
    ! [F_7: list_char > option_ty,X_6: list_char,Y_4: option_ty,Z_4: option_ty] :
      ( ( fun_up424764369ion_ty @ ( fun_up424764369ion_ty @ F_7 @ X_6 @ Y_4 ) @ X_6 @ Z_4 )
      = ( fun_up424764369ion_ty @ F_7 @ X_6 @ Z_4 ) ) ).

thf(fact_38_fun__upd__idem__iff,axiom,
    ! [F_6: list_char > option_val,X_5: list_char,Y_3: option_val] :
      ( ( ( fun_up1149430426on_val @ F_6 @ X_5 @ Y_3 )
        = F_6 )
    <=> ( ( F_6 @ X_5 )
        = Y_3 ) ) ).

thf(fact_39_fun__upd__idem__iff,axiom,
    ! [F_6: list_char > option_ty,X_5: list_char,Y_3: option_ty] :
      ( ( ( fun_up424764369ion_ty @ F_6 @ X_5 @ Y_3 )
        = F_6 )
    <=> ( ( F_6 @ X_5 )
        = Y_3 ) ) ).

thf(fact_40_widen__refl,axiom,
    ! [P_13: list_P1999446415t_char,T_5: ty] : ( widen_2090681816t_char @ P_13 @ T_5 @ T_5 ) ).

thf(fact_41_red__preserves__hconf,axiom,
    ! [E_3: list_char > option_ty,T: ty,E_1: exp_list_char,H_1: nat > option1728594148on_val,L_1: list_char > option_val,E: exp_list_char,H: nat > option1728594148on_val,L: list_char > option_val,P: list_P1999446415t_char] :
      ( ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ E_1 @ ( produc755559506on_val @ H_1 @ L_1 ) ) @ ( produc235638504on_val @ E @ ( produc755559506on_val @ H @ L ) ) ) @ ( red @ P ) )
     => ( ( wTrt @ P @ H_1 @ E_3 @ E_1 @ T )
       => ( ( hconf_97414254t_char @ P @ H_1 )
         => ( hconf_97414254t_char @ P @ H ) ) ) ) ).

thf(fact_42_red__preserves__lconf,axiom,
    ! [E_3: list_char > option_ty,T: ty,E_1: exp_list_char,H_1: nat > option1728594148on_val,L_1: list_char > option_val,E: exp_list_char,H: nat > option1728594148on_val,L: list_char > option_val,P: list_P1999446415t_char] :
      ( ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ E_1 @ ( produc755559506on_val @ H_1 @ L_1 ) ) @ ( produc235638504on_val @ E @ ( produc755559506on_val @ H @ L ) ) ) @ ( red @ P ) )
     => ( ( wTrt @ P @ H_1 @ E_3 @ E_1 @ T )
       => ( ( lconf_496643946t_char @ P @ H_1 @ L_1 @ E_3 )
         => ( lconf_496643946t_char @ P @ H @ L @ E_3 ) ) ) ) ).

thf(fact_43_prod__cases3,axiom,
    ! [Y_2: produc1746408499on_val] :
      ~ ! [A_17: produc1282892786on_val,B: exp_list_char,C_7: produc2090907612on_val] :
          ( Y_2
         != ( produc833389609on_val @ A_17 @ ( produc235638504on_val @ B @ C_7 ) ) ) ).

thf(fact_44_prod__cases3,axiom,
    ! [Y_2: produc1282892786on_val] :
      ~ ! [A_17: exp_list_char,B: nat > option1728594148on_val,C_7: list_char > option_val] :
          ( Y_2
         != ( produc235638504on_val @ A_17 @ ( produc755559506on_val @ B @ C_7 ) ) ) ).

thf(fact_45_prod__induct3,axiom,
    ! [X_4: produc1746408499on_val,P_12: produc1746408499on_val > $o] :
      ( ! [A_17: produc1282892786on_val,B: exp_list_char,C_7: produc2090907612on_val] : ( P_12 @ ( produc833389609on_val @ A_17 @ ( produc235638504on_val @ B @ C_7 ) ) )
     => ( P_12 @ X_4 ) ) ).

thf(fact_46_prod__induct3,axiom,
    ! [X_4: produc1282892786on_val,P_12: produc1282892786on_val > $o] :
      ( ! [A_17: exp_list_char,B: nat > option1728594148on_val,C_7: list_char > option_val] : ( P_12 @ ( produc235638504on_val @ A_17 @ ( produc755559506on_val @ B @ C_7 ) ) )
     => ( P_12 @ X_4 ) ) ).

thf(fact_47_red__preserves__sconf,axiom,
    ! [E_3: list_char > option_ty,T: ty,E_1: exp_list_char,S: produc2090907612on_val,E: exp_list_char,S_1: produc2090907612on_val,P: list_P1999446415t_char] :
      ( ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ E_1 @ S ) @ ( produc235638504on_val @ E @ S_1 ) ) @ ( red @ P ) )
     => ( ( wTrt @ P @ ( hp @ S ) @ E_3 @ E_1 @ T )
       => ( ( typeSa1586500134_sconf @ P @ E_3 @ S )
         => ( typeSa1586500134_sconf @ P @ E_3 @ S_1 ) ) ) ) ).

thf(fact_48_pred__equals__eq2,axiom,
    ! [S_3: produc1282892786on_val > $o,R: produc1282892786on_val > $o] :
      ( ! [X: exp_list_char,Xa: produc2090907612on_val] :
          ( ( member1072200031on_val @ ( produc235638504on_val @ X @ Xa ) @ R )
        <=> ( member1072200031on_val @ ( produc235638504on_val @ X @ Xa ) @ S_3 ) )
    <=> ( R = S_3 ) ) ).

thf(fact_49_pred__equals__eq2,axiom,
    ! [S_3: produc2090907612on_val > $o,R: produc2090907612on_val > $o] :
      ( ! [X: nat > option1728594148on_val,Xa: list_char > option_val] :
          ( ( member1846553161on_val @ ( produc755559506on_val @ X @ Xa ) @ R )
        <=> ( member1846553161on_val @ ( produc755559506on_val @ X @ Xa ) @ S_3 ) )
    <=> ( R = S_3 ) ) ).

thf(fact_50_pred__equals__eq2,axiom,
    ! [S_3: produc1746408499on_val > $o,R: produc1746408499on_val > $o] :
      ( ! [X: produc1282892786on_val,Xa: produc1282892786on_val] :
          ( ( member1913460000on_val @ ( produc833389609on_val @ X @ Xa ) @ R )
        <=> ( member1913460000on_val @ ( produc833389609on_val @ X @ Xa ) @ S_3 ) )
    <=> ( R = S_3 ) ) ).

thf(fact_51_prod_Oexhaust,axiom,
    ! [Y_1: produc1746408499on_val] :
      ~ ! [A_17: produc1282892786on_val,B: produc1282892786on_val] :
          ( Y_1
         != ( produc833389609on_val @ A_17 @ B ) ) ).

thf(fact_52_prod_Oexhaust,axiom,
    ! [Y_1: produc1282892786on_val] :
      ~ ! [A_17: exp_list_char,B: produc2090907612on_val] :
          ( Y_1
         != ( produc235638504on_val @ A_17 @ B ) ) ).

thf(fact_53_prod_Oexhaust,axiom,
    ! [Y_1: produc2090907612on_val] :
      ~ ! [A_17: nat > option1728594148on_val,B: list_char > option_val] :
          ( Y_1
         != ( produc755559506on_val @ A_17 @ B ) ) ).

thf(fact_54_widen__trans,axiom,
    ! [T_4: ty,P_11: list_P1999446415t_char,S_2: ty,U_1: ty] :
      ( ( widen_2090681816t_char @ P_11 @ S_2 @ U_1 )
     => ( ( widen_2090681816t_char @ P_11 @ U_1 @ T_4 )
       => ( widen_2090681816t_char @ P_11 @ S_2 @ T_4 ) ) ) ).

thf(fact_55_InitBlockRed_I5_J,axiom,
    wTrt @ p @ ha @ e @ ( block_list_char @ v_1 @ t_1 @ ( seq_list_char @ ( lAss_list_char @ v_1 @ ( val_list_char @ v ) ) @ ea ) ) @ t ).

thf(fact_56_split__paired__Ex,axiom,
    ! [P_10: produc1746408499on_val > $o] :
      ( ( ?? @ produc1746408499on_val @ P_10 )
    <=> ? [A_17: produc1282892786on_val,B: produc1282892786on_val] : ( P_10 @ ( produc833389609on_val @ A_17 @ B ) ) ) ).

thf(fact_57_split__paired__Ex,axiom,
    ! [P_10: produc1282892786on_val > $o] :
      ( ( ?? @ produc1282892786on_val @ P_10 )
    <=> ? [A_17: exp_list_char,B: produc2090907612on_val] : ( P_10 @ ( produc235638504on_val @ A_17 @ B ) ) ) ).

thf(fact_58_split__paired__Ex,axiom,
    ! [P_10: produc2090907612on_val > $o] :
      ( ( ?? @ produc2090907612on_val @ P_10 )
    <=> ? [A_17: nat > option1728594148on_val,B: list_char > option_val] : ( P_10 @ ( produc755559506on_val @ A_17 @ B ) ) ) ).

thf(fact_59_PairE,axiom,
    ! [P_9: produc1746408499on_val] :
      ~ ! [X: produc1282892786on_val,Y: produc1282892786on_val] :
          ( P_9
         != ( produc833389609on_val @ X @ Y ) ) ).

thf(fact_60_PairE,axiom,
    ! [P_9: produc1282892786on_val] :
      ~ ! [X: exp_list_char,Y: produc2090907612on_val] :
          ( P_9
         != ( produc235638504on_val @ X @ Y ) ) ).

thf(fact_61_PairE,axiom,
    ! [P_9: produc2090907612on_val] :
      ~ ! [X: nat > option1728594148on_val,Y: list_char > option_val] :
          ( P_9
         != ( produc755559506on_val @ X @ Y ) ) ).

thf(fact_62_internal__split__conv,axiom,
    ! [C_6: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,A_24: nat > option1728594148on_val,B_7: list_char > option_val] :
      ( ( produc575577405_val_o @ C_6 @ ( produc755559506on_val @ A_24 @ B_7 ) )
    <=> ( C_6 @ A_24 @ B_7 ) ) ).

thf(fact_63_sconf__def,axiom,
    ! [P: list_P1999446415t_char,E_3: list_char > option_ty,S: produc2090907612on_val] :
      ( ( typeSa1586500134_sconf @ P @ E_3 @ S )
    <=> ( produc252486962_val_o
        @ ^ [H_2: nat > option1728594148on_val,L_2: list_char > option_val] : ( (&) @ ( hconf_97414254t_char @ P @ H_2 ) @ ( lconf_496643946t_char @ P @ H_2 @ L_2 @ E_3 ) )
        @ S ) ) ).

thf(fact_64_prod__caseI,axiom,
    ! [F1_1: produc1282892786on_val > produc1282892786on_val > $o,A_23: produc1282892786on_val,B_6: produc1282892786on_val] :
      ( ( F1_1 @ A_23 @ B_6 )
     => ( produc1624062875_val_o @ F1_1 @ ( produc833389609on_val @ A_23 @ B_6 ) ) ) ).

thf(fact_65_prod__caseI,axiom,
    ! [F1_1: exp_list_char > produc2090907612on_val > $o,A_23: exp_list_char,B_6: produc2090907612on_val] :
      ( ( F1_1 @ A_23 @ B_6 )
     => ( produc1835097372_val_o @ F1_1 @ ( produc235638504on_val @ A_23 @ B_6 ) ) ) ).

thf(fact_66_prod__caseI,axiom,
    ! [F1_1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,A_23: nat > option1728594148on_val,B_6: list_char > option_val] :
      ( ( F1_1 @ A_23 @ B_6 )
     => ( produc252486962_val_o @ F1_1 @ ( produc755559506on_val @ A_23 @ B_6 ) ) ) ).

thf(fact_67_splitI,axiom,
    ! [F_5: produc1282892786on_val > produc1282892786on_val > $o,A_22: produc1282892786on_val,B_5: produc1282892786on_val] :
      ( ( F_5 @ A_22 @ B_5 )
     => ( produc1624062875_val_o @ F_5 @ ( produc833389609on_val @ A_22 @ B_5 ) ) ) ).

thf(fact_68_splitI,axiom,
    ! [F_5: exp_list_char > produc2090907612on_val > $o,A_22: exp_list_char,B_5: produc2090907612on_val] :
      ( ( F_5 @ A_22 @ B_5 )
     => ( produc1835097372_val_o @ F_5 @ ( produc235638504on_val @ A_22 @ B_5 ) ) ) ).

thf(fact_69_splitI,axiom,
    ! [F_5: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,A_22: nat > option1728594148on_val,B_5: list_char > option_val] :
      ( ( F_5 @ A_22 @ B_5 )
     => ( produc252486962_val_o @ F_5 @ ( produc755559506on_val @ A_22 @ B_5 ) ) ) ).

thf(fact_70_splitD,axiom,
    ! [F_4: produc1282892786on_val > produc1282892786on_val > $o,A_21: produc1282892786on_val,B_4: produc1282892786on_val] :
      ( ( produc1624062875_val_o @ F_4 @ ( produc833389609on_val @ A_21 @ B_4 ) )
     => ( F_4 @ A_21 @ B_4 ) ) ).

thf(fact_71_splitD,axiom,
    ! [F_4: exp_list_char > produc2090907612on_val > $o,A_21: exp_list_char,B_4: produc2090907612on_val] :
      ( ( produc1835097372_val_o @ F_4 @ ( produc235638504on_val @ A_21 @ B_4 ) )
     => ( F_4 @ A_21 @ B_4 ) ) ).

thf(fact_72_splitD,axiom,
    ! [F_4: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,A_21: nat > option1728594148on_val,B_4: list_char > option_val] :
      ( ( produc252486962_val_o @ F_4 @ ( produc755559506on_val @ A_21 @ B_4 ) )
     => ( F_4 @ A_21 @ B_4 ) ) ).

thf(fact_73_split__weak__cong,axiom,
    ! [C_5: exp_list_char > produc2090907612on_val > $o,P_8: produc1282892786on_val,Q_2: produc1282892786on_val] :
      ( ( P_8 = Q_2 )
     => ( ( produc1835097372_val_o @ C_5 @ P_8 )
      <=> ( produc1835097372_val_o @ C_5 @ Q_2 ) ) ) ).

thf(fact_74_split__weak__cong,axiom,
    ! [C_5: produc1282892786on_val > produc1282892786on_val > $o,P_8: produc1746408499on_val,Q_2: produc1746408499on_val] :
      ( ( P_8 = Q_2 )
     => ( ( produc1624062875_val_o @ C_5 @ P_8 )
      <=> ( produc1624062875_val_o @ C_5 @ Q_2 ) ) ) ).

thf(fact_75_split__weak__cong,axiom,
    ! [C_5: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,P_8: produc2090907612on_val,Q_2: produc2090907612on_val] :
      ( ( P_8 = Q_2 )
     => ( ( produc252486962_val_o @ C_5 @ P_8 )
      <=> ( produc252486962_val_o @ C_5 @ Q_2 ) ) ) ).

thf(fact_76_internal__split__def,axiom,
    produc900512295_val_o = produc1835097372_val_o ).

thf(fact_77_internal__split__def,axiom,
    produc2006262054_val_o = produc1624062875_val_o ).

thf(fact_78_internal__split__def,axiom,
    produc575577405_val_o = produc252486962_val_o ).

thf(fact_79_split__twice,axiom,
    ! [F_3: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,G_1: exp_list_char > produc2090907612on_val > produc2090907612on_val,P_7: produc1282892786on_val] :
      ( ( produc252486962_val_o @ F_3 @ ( produc69760047on_val @ G_1 @ P_7 ) )
    <=> ( produc1835097372_val_o
        @ ^ [X: exp_list_char,Y: produc2090907612on_val] : ( produc252486962_val_o @ F_3 @ ( G_1 @ X @ Y ) )
        @ P_7 ) ) ).

thf(fact_80_split__twice,axiom,
    ! [F_3: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,G_1: produc1282892786on_val > produc1282892786on_val > produc2090907612on_val,P_7: produc1746408499on_val] :
      ( ( produc252486962_val_o @ F_3 @ ( produc511181936on_val @ G_1 @ P_7 ) )
    <=> ( produc1624062875_val_o
        @ ^ [X: produc1282892786on_val,Y: produc1282892786on_val] : ( produc252486962_val_o @ F_3 @ ( G_1 @ X @ Y ) )
        @ P_7 ) ) ).

thf(fact_81_split__twice,axiom,
    ! [F_3: exp_list_char > produc2090907612on_val > $o,G_1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1282892786on_val,P_7: produc2090907612on_val] :
      ( ( produc1835097372_val_o @ F_3 @ ( produc1016489647on_val @ G_1 @ P_7 ) )
    <=> ( produc252486962_val_o
        @ ^ [X: nat > option1728594148on_val,Y: list_char > option_val] : ( produc1835097372_val_o @ F_3 @ ( G_1 @ X @ Y ) )
        @ P_7 ) ) ).

thf(fact_82_split__twice,axiom,
    ! [F_3: produc1282892786on_val > produc1282892786on_val > $o,G_1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1746408499on_val,P_7: produc2090907612on_val] :
      ( ( produc1624062875_val_o @ F_3 @ ( produc1186953840on_val @ G_1 @ P_7 ) )
    <=> ( produc252486962_val_o
        @ ^ [X: nat > option1728594148on_val,Y: list_char > option_val] : ( produc1624062875_val_o @ F_3 @ ( G_1 @ X @ Y ) )
        @ P_7 ) ) ).

thf(fact_83_split__part,axiom,
    ! [P_6: $o,Q_1: exp_list_char > produc2090907612on_val > $o,X: produc1282892786on_val] :
      ( ( produc1835097372_val_o
        @ ^ [A_17: exp_list_char,B: produc2090907612on_val] : ( (&) @ P_6 @ ( Q_1 @ A_17 @ B ) )
        @ X )
    <=> ( P_6
        & ( produc1835097372_val_o @ Q_1 @ X ) ) ) ).

thf(fact_84_split__part,axiom,
    ! [P_6: $o,Q_1: produc1282892786on_val > produc1282892786on_val > $o,X: produc1746408499on_val] :
      ( ( produc1624062875_val_o
        @ ^ [A_17: produc1282892786on_val,B: produc1282892786on_val] : ( (&) @ P_6 @ ( Q_1 @ A_17 @ B ) )
        @ X )
    <=> ( P_6
        & ( produc1624062875_val_o @ Q_1 @ X ) ) ) ).

thf(fact_85_split__part,axiom,
    ! [P_6: $o,Q_1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,X: produc2090907612on_val] :
      ( ( produc252486962_val_o
        @ ^ [A_17: nat > option1728594148on_val,B: list_char > option_val] : ( (&) @ P_6 @ ( Q_1 @ A_17 @ B ) )
        @ X )
    <=> ( P_6
        & ( produc252486962_val_o @ Q_1 @ X ) ) ) ).

thf(fact_86_prod_Osimps_I2_J,axiom,
    ! [F1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,A_20: nat > option1728594148on_val,B_3: list_char > option_val] :
      ( ( produc252486962_val_o @ F1 @ ( produc755559506on_val @ A_20 @ B_3 ) )
    <=> ( F1 @ A_20 @ B_3 ) ) ).

thf(fact_87_prod_Osimps_I2_J,axiom,
    ! [F1: produc1282892786on_val > produc1282892786on_val > $o,A_20: produc1282892786on_val,B_3: produc1282892786on_val] :
      ( ( produc1624062875_val_o @ F1 @ ( produc833389609on_val @ A_20 @ B_3 ) )
    <=> ( F1 @ A_20 @ B_3 ) ) ).

thf(fact_88_prod_Osimps_I2_J,axiom,
    ! [F1: exp_list_char > produc2090907612on_val > $o,A_20: exp_list_char,B_3: produc2090907612on_val] :
      ( ( produc1835097372_val_o @ F1 @ ( produc235638504on_val @ A_20 @ B_3 ) )
    <=> ( F1 @ A_20 @ B_3 ) ) ).

thf(fact_89_split__conv,axiom,
    ! [F_2: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,A_19: nat > option1728594148on_val,B_2: list_char > option_val] :
      ( ( produc252486962_val_o @ F_2 @ ( produc755559506on_val @ A_19 @ B_2 ) )
    <=> ( F_2 @ A_19 @ B_2 ) ) ).

thf(fact_90_split__conv,axiom,
    ! [F_2: produc1282892786on_val > produc1282892786on_val > $o,A_19: produc1282892786on_val,B_2: produc1282892786on_val] :
      ( ( produc1624062875_val_o @ F_2 @ ( produc833389609on_val @ A_19 @ B_2 ) )
    <=> ( F_2 @ A_19 @ B_2 ) ) ).

thf(fact_91_split__conv,axiom,
    ! [F_2: exp_list_char > produc2090907612on_val > $o,A_19: exp_list_char,B_2: produc2090907612on_val] :
      ( ( produc1835097372_val_o @ F_2 @ ( produc235638504on_val @ A_19 @ B_2 ) )
    <=> ( F_2 @ A_19 @ B_2 ) ) ).

thf(fact_92_split__eta,axiom,
    ! [F_1: produc2090907612on_val > $o] :
      ( ( produc252486962_val_o
        @ ^ [X: nat > option1728594148on_val,Y: list_char > option_val] : ( F_1 @ ( produc755559506on_val @ X @ Y ) ) )
      = F_1 ) ).

thf(fact_93_split__eta,axiom,
    ! [F_1: produc1746408499on_val > $o] :
      ( ( produc1624062875_val_o
        @ ^ [X: produc1282892786on_val,Y: produc1282892786on_val] : ( F_1 @ ( produc833389609on_val @ X @ Y ) ) )
      = F_1 ) ).

thf(fact_94_split__eta,axiom,
    ! [F_1: produc1282892786on_val > $o] :
      ( ( produc1835097372_val_o
        @ ^ [X: exp_list_char,Y: produc2090907612on_val] : ( F_1 @ ( produc235638504on_val @ X @ Y ) ) )
      = F_1 ) ).

thf(fact_95_red__reds_OInitBlockRed,axiom,
    ! [T: ty,V_2: val,E_1: exp_list_char,H_1: nat > option1728594148on_val,L_1: list_char > option_val,V_1: list_char,V: val,E: exp_list_char,H: nat > option1728594148on_val,L: list_char > option_val,P: list_P1999446415t_char] :
      ( ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ E_1 @ ( produc755559506on_val @ H_1 @ ( fun_up1149430426on_val @ L_1 @ V_1 @ ( some_val @ V ) ) ) ) @ ( produc235638504on_val @ E @ ( produc755559506on_val @ H @ L ) ) ) @ ( red @ P ) )
     => ( ( ( L @ V_1 )
          = ( some_val @ V_2 ) )
       => ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V ) ) @ E_1 ) ) @ ( produc755559506on_val @ H_1 @ L_1 ) ) @ ( produc235638504on_val @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V_2 ) ) @ E ) ) @ ( produc755559506on_val @ H @ ( fun_up1149430426on_val @ L @ V_1 @ ( L_1 @ V_1 ) ) ) ) ) @ ( red @ P ) ) ) ) ).

thf(fact_96_red__reds_ORedInitBlock,axiom,
    ! [V_1: list_char,T: ty,V: val,U: val,S: produc2090907612on_val,P: list_P1999446415t_char] : ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V ) ) @ ( val_list_char @ U ) ) ) @ S ) @ ( produc235638504on_val @ ( val_list_char @ U ) @ S ) ) @ ( red @ P ) ) ).

thf(fact_97_splitI2,axiom,
    ! [C_4: produc1282892786on_val > produc1282892786on_val > $o,P_5: produc1746408499on_val] :
      ( ! [A_17: produc1282892786on_val,B: produc1282892786on_val] :
          ( ( P_5
            = ( produc833389609on_val @ A_17 @ B ) )
         => ( C_4 @ A_17 @ B ) )
     => ( produc1624062875_val_o @ C_4 @ P_5 ) ) ).

thf(fact_98_splitI2,axiom,
    ! [C_4: exp_list_char > produc2090907612on_val > $o,P_5: produc1282892786on_val] :
      ( ! [A_17: exp_list_char,B: produc2090907612on_val] :
          ( ( P_5
            = ( produc235638504on_val @ A_17 @ B ) )
         => ( C_4 @ A_17 @ B ) )
     => ( produc1835097372_val_o @ C_4 @ P_5 ) ) ).

thf(fact_99_splitI2,axiom,
    ! [C_4: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,P_5: produc2090907612on_val] :
      ( ! [A_17: nat > option1728594148on_val,B: list_char > option_val] :
          ( ( P_5
            = ( produc755559506on_val @ A_17 @ B ) )
         => ( C_4 @ A_17 @ B ) )
     => ( produc252486962_val_o @ C_4 @ P_5 ) ) ).

thf(fact_100_splitE,axiom,
    ! [C_3: produc1282892786on_val > produc1282892786on_val > $o,P_4: produc1746408499on_val] :
      ( ( produc1624062875_val_o @ C_3 @ P_4 )
     => ~ ! [X: produc1282892786on_val,Y: produc1282892786on_val] :
            ( ( P_4
              = ( produc833389609on_val @ X @ Y ) )
           => ~ ( C_3 @ X @ Y ) ) ) ).

thf(fact_101_splitE,axiom,
    ! [C_3: exp_list_char > produc2090907612on_val > $o,P_4: produc1282892786on_val] :
      ( ( produc1835097372_val_o @ C_3 @ P_4 )
     => ~ ! [X: exp_list_char,Y: produc2090907612on_val] :
            ( ( P_4
              = ( produc235638504on_val @ X @ Y ) )
           => ~ ( C_3 @ X @ Y ) ) ) ).

thf(fact_102_splitE,axiom,
    ! [C_3: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,P_4: produc2090907612on_val] :
      ( ( produc252486962_val_o @ C_3 @ P_4 )
     => ~ ! [X: nat > option1728594148on_val,Y: list_char > option_val] :
            ( ( P_4
              = ( produc755559506on_val @ X @ Y ) )
           => ~ ( C_3 @ X @ Y ) ) ) ).

thf(fact_103_WTrtBlock,axiom,
    ! [P: list_P1999446415t_char,H_1: nat > option1728594148on_val,E_3: list_char > option_ty,V_1: list_char,T: ty,E_1: exp_list_char,T_3: ty] :
      ( ( wTrt @ P @ H_1 @ ( fun_up424764369ion_ty @ E_3 @ V_1 @ ( some_ty @ T ) ) @ E_1 @ T_3 )
     => ( wTrt @ P @ H_1 @ E_3 @ ( block_list_char @ V_1 @ T @ E_1 ) @ T_3 ) ) ).

thf(fact_104_mem__splitI,axiom,
    ! [Z_3: produc2090907612on_val,C_2: produc1282892786on_val > produc1282892786on_val > produc2090907612on_val > $o,A_18: produc1282892786on_val,B_1: produc1282892786on_val] :
      ( ( member1846553161on_val @ Z_3 @ ( C_2 @ A_18 @ B_1 ) )
     => ( member1846553161on_val @ Z_3 @ ( produc793795679_val_o @ C_2 @ ( produc833389609on_val @ A_18 @ B_1 ) ) ) ) ).

thf(fact_105_mem__splitI,axiom,
    ! [Z_3: produc1282892786on_val,C_2: produc1282892786on_val > produc1282892786on_val > produc1282892786on_val > $o,A_18: produc1282892786on_val,B_1: produc1282892786on_val] :
      ( ( member1072200031on_val @ Z_3 @ ( C_2 @ A_18 @ B_1 ) )
     => ( member1072200031on_val @ Z_3 @ ( produc1798214089_val_o @ C_2 @ ( produc833389609on_val @ A_18 @ B_1 ) ) ) ) ).

thf(fact_106_mem__splitI,axiom,
    ! [Z_3: produc2090907612on_val,C_2: exp_list_char > produc2090907612on_val > produc2090907612on_val > $o,A_18: exp_list_char,B_1: produc2090907612on_val] :
      ( ( member1846553161on_val @ Z_3 @ ( C_2 @ A_18 @ B_1 ) )
     => ( member1846553161on_val @ Z_3 @ ( produc1115879776_val_o @ C_2 @ ( produc235638504on_val @ A_18 @ B_1 ) ) ) ) ).

thf(fact_107_mem__splitI,axiom,
    ! [Z_3: produc1282892786on_val,C_2: exp_list_char > produc2090907612on_val > produc1282892786on_val > $o,A_18: exp_list_char,B_1: produc2090907612on_val] :
      ( ( member1072200031on_val @ Z_3 @ ( C_2 @ A_18 @ B_1 ) )
     => ( member1072200031on_val @ Z_3 @ ( produc68058570_val_o @ C_2 @ ( produc235638504on_val @ A_18 @ B_1 ) ) ) ) ).

thf(fact_108_mem__splitI,axiom,
    ! [Z_3: produc2090907612on_val,C_2: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc2090907612on_val > $o,A_18: nat > option1728594148on_val,B_1: list_char > option_val] :
      ( ( member1846553161on_val @ Z_3 @ ( C_2 @ A_18 @ B_1 ) )
     => ( member1846553161on_val @ Z_3 @ ( produc146628214_val_o @ C_2 @ ( produc755559506on_val @ A_18 @ B_1 ) ) ) ) ).

thf(fact_109_mem__splitI,axiom,
    ! [Z_3: produc1282892786on_val,C_2: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1282892786on_val > $o,A_18: nat > option1728594148on_val,B_1: list_char > option_val] :
      ( ( member1072200031on_val @ Z_3 @ ( C_2 @ A_18 @ B_1 ) )
     => ( member1072200031on_val @ Z_3 @ ( produc74886368_val_o @ C_2 @ ( produc755559506on_val @ A_18 @ B_1 ) ) ) ) ).

thf(fact_110_WTrtSeq,axiom,
    ! [E_2: exp_list_char,T_2: ty,P: list_P1999446415t_char,H_1: nat > option1728594148on_val,E_3: list_char > option_ty,E_1_1: exp_list_char,T_1_1: ty] :
      ( ( wTrt @ P @ H_1 @ E_3 @ E_1_1 @ T_1_1 )
     => ( ( wTrt @ P @ H_1 @ E_3 @ E_2 @ T_2 )
       => ( wTrt @ P @ H_1 @ E_3 @ ( seq_list_char @ E_1_1 @ E_2 ) @ T_2 ) ) ) ).

thf(fact_111_red__reds_OSeqRed,axiom,
    ! [E_2: exp_list_char,E_1: exp_list_char,S: produc2090907612on_val,E: exp_list_char,S_1: produc2090907612on_val,P: list_P1999446415t_char] :
      ( ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ E_1 @ S ) @ ( produc235638504on_val @ E @ S_1 ) ) @ ( red @ P ) )
     => ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( seq_list_char @ E_1 @ E_2 ) @ S ) @ ( produc235638504on_val @ ( seq_list_char @ E @ E_2 ) @ S_1 ) ) @ ( red @ P ) ) ) ).

thf(fact_112_red__reds_OLAssRed,axiom,
    ! [V_1: list_char,E_1: exp_list_char,S: produc2090907612on_val,E: exp_list_char,S_1: produc2090907612on_val,P: list_P1999446415t_char] :
      ( ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ E_1 @ S ) @ ( produc235638504on_val @ E @ S_1 ) ) @ ( red @ P ) )
     => ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( lAss_list_char @ V_1 @ E_1 ) @ S ) @ ( produc235638504on_val @ ( lAss_list_char @ V_1 @ E ) @ S_1 ) ) @ ( red @ P ) ) ) ).

thf(fact_113_red__reds_ORedSeq,axiom,
    ! [V: val,E_2: exp_list_char,S: produc2090907612on_val,P: list_P1999446415t_char] : ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( seq_list_char @ ( val_list_char @ V ) @ E_2 ) @ S ) @ ( produc235638504on_val @ E_2 @ S ) ) @ ( red @ P ) ) ).

thf(fact_114_red__reds_ORedBlock,axiom,
    ! [V_1: list_char,T: ty,U: val,S: produc2090907612on_val,P: list_P1999446415t_char] : ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( block_list_char @ V_1 @ T @ ( val_list_char @ U ) ) @ S ) @ ( produc235638504on_val @ ( val_list_char @ U ) @ S ) ) @ ( red @ P ) ) ).

thf(fact_115_mem__splitE,axiom,
    ! [Z_2: produc2090907612on_val,C_1: produc1282892786on_val > produc1282892786on_val > produc2090907612on_val > $o,P_3: produc1746408499on_val] :
      ( ( member1846553161on_val @ Z_2 @ ( produc793795679_val_o @ C_1 @ P_3 ) )
     => ~ ! [X: produc1282892786on_val,Y: produc1282892786on_val] :
            ( ( P_3
              = ( produc833389609on_val @ X @ Y ) )
           => ~ ( member1846553161on_val @ Z_2 @ ( C_1 @ X @ Y ) ) ) ) ).

thf(fact_116_mem__splitE,axiom,
    ! [Z_2: produc1282892786on_val,C_1: produc1282892786on_val > produc1282892786on_val > produc1282892786on_val > $o,P_3: produc1746408499on_val] :
      ( ( member1072200031on_val @ Z_2 @ ( produc1798214089_val_o @ C_1 @ P_3 ) )
     => ~ ! [X: produc1282892786on_val,Y: produc1282892786on_val] :
            ( ( P_3
              = ( produc833389609on_val @ X @ Y ) )
           => ~ ( member1072200031on_val @ Z_2 @ ( C_1 @ X @ Y ) ) ) ) ).

thf(fact_117_mem__splitE,axiom,
    ! [Z_2: produc2090907612on_val,C_1: exp_list_char > produc2090907612on_val > produc2090907612on_val > $o,P_3: produc1282892786on_val] :
      ( ( member1846553161on_val @ Z_2 @ ( produc1115879776_val_o @ C_1 @ P_3 ) )
     => ~ ! [X: exp_list_char,Y: produc2090907612on_val] :
            ( ( P_3
              = ( produc235638504on_val @ X @ Y ) )
           => ~ ( member1846553161on_val @ Z_2 @ ( C_1 @ X @ Y ) ) ) ) ).

thf(fact_118_mem__splitE,axiom,
    ! [Z_2: produc1282892786on_val,C_1: exp_list_char > produc2090907612on_val > produc1282892786on_val > $o,P_3: produc1282892786on_val] :
      ( ( member1072200031on_val @ Z_2 @ ( produc68058570_val_o @ C_1 @ P_3 ) )
     => ~ ! [X: exp_list_char,Y: produc2090907612on_val] :
            ( ( P_3
              = ( produc235638504on_val @ X @ Y ) )
           => ~ ( member1072200031on_val @ Z_2 @ ( C_1 @ X @ Y ) ) ) ) ).

thf(fact_119_mem__splitE,axiom,
    ! [Z_2: produc2090907612on_val,C_1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc2090907612on_val > $o,P_3: produc2090907612on_val] :
      ( ( member1846553161on_val @ Z_2 @ ( produc146628214_val_o @ C_1 @ P_3 ) )
     => ~ ! [X: nat > option1728594148on_val,Y: list_char > option_val] :
            ( ( P_3
              = ( produc755559506on_val @ X @ Y ) )
           => ~ ( member1846553161on_val @ Z_2 @ ( C_1 @ X @ Y ) ) ) ) ).

thf(fact_120_mem__splitE,axiom,
    ! [Z_2: produc1282892786on_val,C_1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1282892786on_val > $o,P_3: produc2090907612on_val] :
      ( ( member1072200031on_val @ Z_2 @ ( produc74886368_val_o @ C_1 @ P_3 ) )
     => ~ ! [X: nat > option1728594148on_val,Y: list_char > option_val] :
            ( ( P_3
              = ( produc755559506on_val @ X @ Y ) )
           => ~ ( member1072200031on_val @ Z_2 @ ( C_1 @ X @ Y ) ) ) ) ).

thf(fact_121_mem__splitI2,axiom,
    ! [Z_1: produc2090907612on_val,C: produc1282892786on_val > produc1282892786on_val > produc2090907612on_val > $o,P_2: produc1746408499on_val] :
      ( ! [A_17: produc1282892786on_val,B: produc1282892786on_val] :
          ( ( P_2
            = ( produc833389609on_val @ A_17 @ B ) )
         => ( member1846553161on_val @ Z_1 @ ( C @ A_17 @ B ) ) )
     => ( member1846553161on_val @ Z_1 @ ( produc793795679_val_o @ C @ P_2 ) ) ) ).

thf(fact_122_mem__splitI2,axiom,
    ! [Z_1: produc1282892786on_val,C: produc1282892786on_val > produc1282892786on_val > produc1282892786on_val > $o,P_2: produc1746408499on_val] :
      ( ! [A_17: produc1282892786on_val,B: produc1282892786on_val] :
          ( ( P_2
            = ( produc833389609on_val @ A_17 @ B ) )
         => ( member1072200031on_val @ Z_1 @ ( C @ A_17 @ B ) ) )
     => ( member1072200031on_val @ Z_1 @ ( produc1798214089_val_o @ C @ P_2 ) ) ) ).

thf(fact_123_mem__splitI2,axiom,
    ! [Z_1: produc2090907612on_val,C: exp_list_char > produc2090907612on_val > produc2090907612on_val > $o,P_2: produc1282892786on_val] :
      ( ! [A_17: exp_list_char,B: produc2090907612on_val] :
          ( ( P_2
            = ( produc235638504on_val @ A_17 @ B ) )
         => ( member1846553161on_val @ Z_1 @ ( C @ A_17 @ B ) ) )
     => ( member1846553161on_val @ Z_1 @ ( produc1115879776_val_o @ C @ P_2 ) ) ) ).

thf(fact_124_mem__splitI2,axiom,
    ! [Z_1: produc1282892786on_val,C: exp_list_char > produc2090907612on_val > produc1282892786on_val > $o,P_2: produc1282892786on_val] :
      ( ! [A_17: exp_list_char,B: produc2090907612on_val] :
          ( ( P_2
            = ( produc235638504on_val @ A_17 @ B ) )
         => ( member1072200031on_val @ Z_1 @ ( C @ A_17 @ B ) ) )
     => ( member1072200031on_val @ Z_1 @ ( produc68058570_val_o @ C @ P_2 ) ) ) ).

thf(fact_125_mem__splitI2,axiom,
    ! [Z_1: produc2090907612on_val,C: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc2090907612on_val > $o,P_2: produc2090907612on_val] :
      ( ! [A_17: nat > option1728594148on_val,B: list_char > option_val] :
          ( ( P_2
            = ( produc755559506on_val @ A_17 @ B ) )
         => ( member1846553161on_val @ Z_1 @ ( C @ A_17 @ B ) ) )
     => ( member1846553161on_val @ Z_1 @ ( produc146628214_val_o @ C @ P_2 ) ) ) ).

thf(fact_126_mem__splitI2,axiom,
    ! [Z_1: produc1282892786on_val,C: ( nat > option1728594148on_val ) > ( list_char > option_val ) > produc1282892786on_val > $o,P_2: produc2090907612on_val] :
      ( ! [A_17: nat > option1728594148on_val,B: list_char > option_val] :
          ( ( P_2
            = ( produc755559506on_val @ A_17 @ B ) )
         => ( member1072200031on_val @ Z_1 @ ( C @ A_17 @ B ) ) )
     => ( member1072200031on_val @ Z_1 @ ( produc74886368_val_o @ C @ P_2 ) ) ) ).

thf(fact_127_red__reds_ORedLAss,axiom,
    ! [V_1: list_char,V: val,H_1: nat > option1728594148on_val,L_1: list_char > option_val,P: list_P1999446415t_char] : ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( lAss_list_char @ V_1 @ ( val_list_char @ V ) ) @ ( produc755559506on_val @ H_1 @ L_1 ) ) @ ( produc235638504on_val @ ( val_list_char @ unit ) @ ( produc755559506on_val @ H_1 @ ( fun_up1149430426on_val @ L_1 @ V_1 @ ( some_val @ V ) ) ) ) ) @ ( red @ P ) ) ).

thf(fact_128_cond__split__eta,axiom,
    ! [G: produc2090907612on_val > $o,F: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o] :
      ( ! [X: nat > option1728594148on_val,Y: list_char > option_val] :
          ( ( F @ X @ Y )
        <=> ( G @ ( produc755559506on_val @ X @ Y ) ) )
     => ( ( produc252486962_val_o @ F )
        = G ) ) ).

thf(fact_129_cond__split__eta,axiom,
    ! [G: produc1746408499on_val > $o,F: produc1282892786on_val > produc1282892786on_val > $o] :
      ( ! [X: produc1282892786on_val,Y: produc1282892786on_val] :
          ( ( F @ X @ Y )
        <=> ( G @ ( produc833389609on_val @ X @ Y ) ) )
     => ( ( produc1624062875_val_o @ F )
        = G ) ) ).

thf(fact_130_cond__split__eta,axiom,
    ! [G: produc1282892786on_val > $o,F: exp_list_char > produc2090907612on_val > $o] :
      ( ! [X: exp_list_char,Y: produc2090907612on_val] :
          ( ( F @ X @ Y )
        <=> ( G @ ( produc235638504on_val @ X @ Y ) ) )
     => ( ( produc1835097372_val_o @ F )
        = G ) ) ).

thf(fact_131_splitE2,axiom,
    ! [Q: $o > $o,P_1: ( nat > option1728594148on_val ) > ( list_char > option_val ) > $o,Z: produc2090907612on_val] :
      ( ( Q @ ( produc252486962_val_o @ P_1 @ Z ) )
     => ~ ! [X: nat > option1728594148on_val,Y: list_char > option_val] :
            ( ( Z
              = ( produc755559506on_val @ X @ Y ) )
           => ~ ( Q @ ( P_1 @ X @ Y ) ) ) ) ).

thf(fact_132_splitE2,axiom,
    ! [Q: $o > $o,P_1: produc1282892786on_val > produc1282892786on_val > $o,Z: produc1746408499on_val] :
      ( ( Q @ ( produc1624062875_val_o @ P_1 @ Z ) )
     => ~ ! [X: produc1282892786on_val,Y: produc1282892786on_val] :
            ( ( Z
              = ( produc833389609on_val @ X @ Y ) )
           => ~ ( Q @ ( P_1 @ X @ Y ) ) ) ) ).

thf(fact_133_splitE2,axiom,
    ! [Q: $o > $o,P_1: exp_list_char > produc2090907612on_val > $o,Z: produc1282892786on_val] :
      ( ( Q @ ( produc1835097372_val_o @ P_1 @ Z ) )
     => ~ ! [X: exp_list_char,Y: produc2090907612on_val] :
            ( ( Z
              = ( produc235638504on_val @ X @ Y ) )
           => ~ ( Q @ ( P_1 @ X @ Y ) ) ) ) ).

thf(fact_134_exp_Osimps_I143_J,axiom,
    ! [A_16: list_char,Ty_7: ty,Exp_15: exp_list_char,A_15: list_char,Exp_14: exp_list_char] :
      ( ( block_list_char @ A_16 @ Ty_7 @ Exp_15 )
     != ( lAss_list_char @ A_15 @ Exp_14 ) ) ).

thf(fact_135_exp_Osimps_I196_J,axiom,
    ! [A_14: list_char,Ty_6: ty,Exp_13: exp_list_char,Exp1_7: exp_list_char,Exp2_7: exp_list_char] :
      ( ( block_list_char @ A_14 @ Ty_6 @ Exp_13 )
     != ( seq_list_char @ Exp1_7 @ Exp2_7 ) ) ).

thf(fact_136_exp_Osimps_I3_J,axiom,
    ! [Val_7: val,Val_6: val] :
      ( ( ( val_list_char @ Val_7 )
        = ( val_list_char @ Val_6 ) )
    <=> ( Val_7 = Val_6 ) ) ).

thf(fact_137_exp_Osimps_I11_J,axiom,
    ! [Exp1_6: exp_list_char,Exp2_6: exp_list_char,Exp1_5: exp_list_char,Exp2_5: exp_list_char] :
      ( ( ( seq_list_char @ Exp1_6 @ Exp2_6 )
        = ( seq_list_char @ Exp1_5 @ Exp2_5 ) )
    <=> ( ( Exp1_6 = Exp1_5 )
        & ( Exp2_6 = Exp2_5 ) ) ) ).

thf(fact_138_exp_Osimps_I6_J,axiom,
    ! [A_13: list_char,Exp_12: exp_list_char,A_12: list_char,Exp_11: exp_list_char] :
      ( ( ( lAss_list_char @ A_13 @ Exp_12 )
        = ( lAss_list_char @ A_12 @ Exp_11 ) )
    <=> ( ( A_13 = A_12 )
        & ( Exp_12 = Exp_11 ) ) ) ).

thf(fact_139_mem__def,axiom,
    ! [X_3: produc2090907612on_val,A_11: produc2090907612on_val > $o] :
      ( ( member1846553161on_val @ X_3 @ A_11 )
    <=> ( A_11 @ X_3 ) ) ).

thf(fact_140_mem__def,axiom,
    ! [X_3: produc1282892786on_val,A_11: produc1282892786on_val > $o] :
      ( ( member1072200031on_val @ X_3 @ A_11 )
    <=> ( A_11 @ X_3 ) ) ).

thf(fact_141_mem__def,axiom,
    ! [X_3: produc1746408499on_val,A_11: produc1746408499on_val > $o] :
      ( ( member1913460000on_val @ X_3 @ A_11 )
    <=> ( A_11 @ X_3 ) ) ).

thf(fact_142_exp_Osimps_I10_J,axiom,
    ! [A_10: list_char,Ty_5: ty,Exp_10: exp_list_char,A_9: list_char,Ty_4: ty,Exp_9: exp_list_char] :
      ( ( ( block_list_char @ A_10 @ Ty_5 @ Exp_10 )
        = ( block_list_char @ A_9 @ Ty_4 @ Exp_9 ) )
    <=> ( ( A_10 = A_9 )
        & ( Ty_5 = Ty_4 )
        & ( Exp_10 = Exp_9 ) ) ) ).

thf(fact_143_exp_Osimps_I84_J,axiom,
    ! [Val_5: val,Exp1_4: exp_list_char,Exp2_4: exp_list_char] :
      ( ( val_list_char @ Val_5 )
     != ( seq_list_char @ Exp1_4 @ Exp2_4 ) ) ).

thf(fact_144_exp_Osimps_I74_J,axiom,
    ! [Val_4: val,A_8: list_char,Exp_8: exp_list_char] :
      ( ( val_list_char @ Val_4 )
     != ( lAss_list_char @ A_8 @ Exp_8 ) ) ).

thf(fact_145_exp_Osimps_I85_J,axiom,
    ! [Exp1_3: exp_list_char,Exp2_3: exp_list_char,Val_3: val] :
      ( ( seq_list_char @ Exp1_3 @ Exp2_3 )
     != ( val_list_char @ Val_3 ) ) ).

thf(fact_146_exp_Osimps_I75_J,axiom,
    ! [A_7: list_char,Exp_7: exp_list_char,Val_2: val] :
      ( ( lAss_list_char @ A_7 @ Exp_7 )
     != ( val_list_char @ Val_2 ) ) ).

thf(fact_147_exp_Osimps_I82_J,axiom,
    ! [Val_1: val,A_6: list_char,Ty_3: ty,Exp_6: exp_list_char] :
      ( ( val_list_char @ Val_1 )
     != ( block_list_char @ A_6 @ Ty_3 @ Exp_6 ) ) ).

thf(fact_148_exp_Osimps_I83_J,axiom,
    ! [A_5: list_char,Ty_2: ty,Exp_5: exp_list_char,Val: val] :
      ( ( block_list_char @ A_5 @ Ty_2 @ Exp_5 )
     != ( val_list_char @ Val ) ) ).

thf(fact_149_exp_Osimps_I145_J,axiom,
    ! [Exp1_2: exp_list_char,Exp2_2: exp_list_char,A_4: list_char,Exp_4: exp_list_char] :
      ( ( seq_list_char @ Exp1_2 @ Exp2_2 )
     != ( lAss_list_char @ A_4 @ Exp_4 ) ) ).

thf(fact_150_exp_Osimps_I144_J,axiom,
    ! [A_3: list_char,Exp_3: exp_list_char,Exp1_1: exp_list_char,Exp2_1: exp_list_char] :
      ( ( lAss_list_char @ A_3 @ Exp_3 )
     != ( seq_list_char @ Exp1_1 @ Exp2_1 ) ) ).

thf(fact_151_exp_Osimps_I197_J,axiom,
    ! [Exp1: exp_list_char,Exp2: exp_list_char,A_2: list_char,Ty_1: ty,Exp_2: exp_list_char] :
      ( ( seq_list_char @ Exp1 @ Exp2 )
     != ( block_list_char @ A_2 @ Ty_1 @ Exp_2 ) ) ).

thf(fact_152_exp_Osimps_I142_J,axiom,
    ! [A_1: list_char,Exp_1: exp_list_char,A: list_char,Ty: ty,Exp: exp_list_char] :
      ( ( lAss_list_char @ A_1 @ Exp_1 )
     != ( block_list_char @ A @ Ty @ Exp ) ) ).

thf(fact_153_redp__redsp_OInitBlockRed,axiom,
    ! [T: ty,V_2: val,P: list_P1999446415t_char,E_1: exp_list_char,H_1: nat > option1728594148on_val,L_1: list_char > option_val,V_1: list_char,V: val,E: exp_list_char,H: nat > option1728594148on_val,L: list_char > option_val] :
      ( ( redp @ P @ E_1 @ ( produc755559506on_val @ H_1 @ ( fun_up1149430426on_val @ L_1 @ V_1 @ ( some_val @ V ) ) ) @ E @ ( produc755559506on_val @ H @ L ) )
     => ( ( ( L @ V_1 )
          = ( some_val @ V_2 ) )
       => ( redp @ P @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V ) ) @ E_1 ) ) @ ( produc755559506on_val @ H_1 @ L_1 ) @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V_2 ) ) @ E ) ) @ ( produc755559506on_val @ H @ ( fun_up1149430426on_val @ L @ V_1 @ ( L_1 @ V_1 ) ) ) ) ) ) ).

thf(fact_154_red__reds_OBlockRedSome,axiom,
    ! [T: ty,V: val,E_1: exp_list_char,H_1: nat > option1728594148on_val,L_1: list_char > option_val,V_1: list_char,E: exp_list_char,H: nat > option1728594148on_val,L: list_char > option_val,P: list_P1999446415t_char] :
      ( ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ E_1 @ ( produc755559506on_val @ H_1 @ ( fun_up1149430426on_val @ L_1 @ V_1 @ none_val ) ) ) @ ( produc235638504on_val @ E @ ( produc755559506on_val @ H @ L ) ) ) @ ( red @ P ) )
     => ( ( ( L @ V_1 )
          = ( some_val @ V ) )
       => ( ~ ( assigned @ V_1 @ E_1 )
         => ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ( block_list_char @ V_1 @ T @ E_1 ) @ ( produc755559506on_val @ H_1 @ L_1 ) ) @ ( produc235638504on_val @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V ) ) @ E ) ) @ ( produc755559506on_val @ H @ ( fun_up1149430426on_val @ L @ V_1 @ ( L_1 @ V_1 ) ) ) ) ) @ ( red @ P ) ) ) ) ) ).

thf(fact_155_redp__redsp_OSeqRed,axiom,
    ! [E_2: exp_list_char,P: list_P1999446415t_char,E_1: exp_list_char,S: produc2090907612on_val,E: exp_list_char,S_1: produc2090907612on_val] :
      ( ( redp @ P @ E_1 @ S @ E @ S_1 )
     => ( redp @ P @ ( seq_list_char @ E_1 @ E_2 ) @ S @ ( seq_list_char @ E @ E_2 ) @ S_1 ) ) ).

thf(fact_156_redp__redsp_OLAssRed,axiom,
    ! [V_1: list_char,P: list_P1999446415t_char,E_1: exp_list_char,S: produc2090907612on_val,E: exp_list_char,S_1: produc2090907612on_val] :
      ( ( redp @ P @ E_1 @ S @ E @ S_1 )
     => ( redp @ P @ ( lAss_list_char @ V_1 @ E_1 ) @ S @ ( lAss_list_char @ V_1 @ E ) @ S_1 ) ) ).

thf(fact_157_redp__redsp_OBlockRedNone,axiom,
    ! [T: ty,P: list_P1999446415t_char,E_1: exp_list_char,H_1: nat > option1728594148on_val,L_1: list_char > option_val,V_1: list_char,E: exp_list_char,H: nat > option1728594148on_val,L: list_char > option_val] :
      ( ( redp @ P @ E_1 @ ( produc755559506on_val @ H_1 @ ( fun_up1149430426on_val @ L_1 @ V_1 @ none_val ) ) @ E @ ( produc755559506on_val @ H @ L ) )
     => ( ( ( L @ V_1 )
          = none_val )
       => ( ~ ( assigned @ V_1 @ E_1 )
         => ( redp @ P @ ( block_list_char @ V_1 @ T @ E_1 ) @ ( produc755559506on_val @ H_1 @ L_1 ) @ ( block_list_char @ V_1 @ T @ E ) @ ( produc755559506on_val @ H @ ( fun_up1149430426on_val @ L @ V_1 @ ( L_1 @ V_1 ) ) ) ) ) ) ) ).

thf(fact_158_redp__redsp_ORedSeq,axiom,
    ! [P: list_P1999446415t_char,V: val,E_2: exp_list_char,S: produc2090907612on_val] : ( redp @ P @ ( seq_list_char @ ( val_list_char @ V ) @ E_2 ) @ S @ E_2 @ S ) ).

thf(fact_159_map__upd__nonempty,axiom,
    ! [T_1: list_char > option_val,K: list_char,X_2: val] :
      ~ ! [X: list_char] :
          ( ( fun_up1149430426on_val @ T_1 @ K @ ( some_val @ X_2 ) @ X )
          = none_val ) ).

thf(fact_160_map__upd__nonempty,axiom,
    ! [T_1: list_char > option_ty,K: list_char,X_2: ty] :
      ~ ! [X: list_char] :
          ( ( fun_up424764369ion_ty @ T_1 @ K @ ( some_ty @ X_2 ) @ X )
          = none_ty ) ).

thf(fact_161_redp__redsp_ORedBlock,axiom,
    ! [P: list_P1999446415t_char,V_1: list_char,T: ty,U: val,S: produc2090907612on_val] : ( redp @ P @ ( block_list_char @ V_1 @ T @ ( val_list_char @ U ) ) @ S @ ( val_list_char @ U ) @ S ) ).

thf(fact_162_empty__upd__none,axiom,
    ! [X_1: list_char,X: list_char] :
      ( ( fun_up1149430426on_val
        @ ^ [Y: list_char] : none_val
        @ X_1
        @ none_val
        @ X )
      = none_val ) ).

thf(fact_163_empty__upd__none,axiom,
    ! [X_1: list_char,X: list_char] :
      ( ( fun_up424764369ion_ty
        @ ^ [Y: list_char] : none_ty
        @ X_1
        @ none_ty
        @ X )
      = none_ty ) ).

thf(fact_164_redp__redsp_OBlockRedSome,axiom,
    ! [T: ty,V: val,P: list_P1999446415t_char,E_1: exp_list_char,H_1: nat > option1728594148on_val,L_1: list_char > option_val,V_1: list_char,E: exp_list_char,H: nat > option1728594148on_val,L: list_char > option_val] :
      ( ( redp @ P @ E_1 @ ( produc755559506on_val @ H_1 @ ( fun_up1149430426on_val @ L_1 @ V_1 @ none_val ) ) @ E @ ( produc755559506on_val @ H @ L ) )
     => ( ( ( L @ V_1 )
          = ( some_val @ V ) )
       => ( ~ ( assigned @ V_1 @ E_1 )
         => ( redp @ P @ ( block_list_char @ V_1 @ T @ E_1 ) @ ( produc755559506on_val @ H_1 @ L_1 ) @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V ) ) @ E ) ) @ ( produc755559506on_val @ H @ ( fun_up1149430426on_val @ L @ V_1 @ ( L_1 @ V_1 ) ) ) ) ) ) ) ).

thf(fact_165_redp__red__eq,axiom,
    ! [P: list_P1999446415t_char,X: exp_list_char,Xa: produc2090907612on_val,Xb: exp_list_char,Xc: produc2090907612on_val] :
      ( ( redp @ P @ X @ Xa @ Xb @ Xc )
    <=> ( member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ X @ Xa ) @ ( produc235638504on_val @ Xb @ Xc ) ) @ ( red @ P ) ) ) ).

thf(fact_166_redp__redsp_ORedInitBlock,axiom,
    ! [P: list_P1999446415t_char,V_1: list_char,T: ty,V: val,U: val,S: produc2090907612on_val] : ( redp @ P @ ( block_list_char @ V_1 @ T @ ( seq_list_char @ ( lAss_list_char @ V_1 @ ( val_list_char @ V ) ) @ ( val_list_char @ U ) ) ) @ S @ ( val_list_char @ U ) @ S ) ).

%----Conjectures (1)
thf(conj_0,conjecture,
    member1913460000on_val @ ( produc833389609on_val @ ( produc235638504on_val @ ea @ ( produc755559506on_val @ ha @ ( fun_up1149430426on_val @ la @ v_1 @ ( some_val @ v ) ) ) ) @ ( produc235638504on_val @ e_a @ ( produc755559506on_val @ h_a @ l_a ) ) ) @ ( red @ p ) ).

%------------------------------------------------------------------------------